Cleaning robot and method for controlling the same

ABSTRACT

A cleaning robot includes a non-circular main body, a moving assembly mounted on a bottom surface of the main body to perform forward movement, backward movement and rotation of the main body, a cleaning tool assembly mounted on the bottom surface of the main body to clean a floor, a detector to detect an obstacle around the main body, and a controller to determine whether an obstacle is present in a forward direction of the main body based on a detection signal of the detector, control the rotation of the main body to determine whether the main body rotates by a predetermined angle or more upon determining that the obstacle is present in the forward direction, and determine that the main body is in a stuck state to control the backward movement of the main body if the main body rotates by the predetermined angle or less.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No.10-2013-0089352, filed on Jul. 29, 2013 in the Korean IntellectualProperty Office, the disclosure of which is incorporated herein byreference.

BACKGROUND

1. Field

One or more embodiments relate to a cleaning robot for improvingtraveling performance and a method for controlling the same.

2. Description of the Related Art

A cleaning robot is a device which automatically cleans an area to becleaned by suctioning foreign substances such as dust from the floorwhile autonomously traveling about a cleaning area without a userintervention.

A general cleaning robot may perform cleaning of a floor by a drycleaning method of suctioning dust from the floor.

Recently, there has been developed a cleaning robot having a pad mountedon the bottom of a main body to perform wet cleaning by washing thefloor with water as well as a cleaning robot capable of performing drycleaning by suctioning dust.

This cleaning robot repeatedly may perform a cleaning operation by usinga cleaning tool while traveling about a cleaning area. In this case, thecleaning robot may perform cleaning while detecting an obstacle or walllocated in the cleaning area through various sensors and the like, andcontrolling a traveling and cleaning operation based on the detectionresults.

Traveling technology of the cleaning robot may be classified intocomplete coverage technology for quickly and thoroughly cleaning atarget, and escape technology to enable the cleaning robot to escapefrom an unusual situation such as a stuck state in which a main body maynot move due to an obstacle or the like.

Escape technology is used when a preset map is different from the actualenvironment, or the environment suddenly changes and, as such, thecleaning robot may not move through a calculated path. In accordancewith this technology, the cleaning robot may bypass an obstacle by usinga sensor provided in the main body.

As mentioned above, the cleaning robot may perform a basic operation toavoid an obstacle through bypass when recognizing the obstacle, but themain body may fail to move when lodged in a confined space.

SUMMARY

The foregoing described problems may be overcome and/or other aspectsmay be achieved by one or more embodiments of a cleaning robot in whichthe size of a main body is different from the size of a rotation spacerequired for rotation of the main body, and a method for controlling thesame.

The foregoing described problems may be overcome and/or other aspectsmay be achieved by one or more embodiments of a cleaning robot which maydetermine whether the main body is in a stuck state by rotating the mainbody by a predetermined angle upon detection of an obstacle whentraveling, and may perform backward movement to escape from the stuckstate upon determining that the main body is in the stuck state, and amethod for controlling the same.

The foregoing described problems may be overcome and/or other aspectsmay be achieved by one or more embodiments of a cleaning robot which maydetermine whether the main body is in a stuck state by using a detectoron front and side surfaces of the main body upon detection of anobstacle when traveling, and may perform backward movement to escapefrom the stuck state upon determining that the main body is in the stuckstate, and a method for controlling the same.

Additional aspects and/or advantages of one or more embodiments will beset forth in part in the description which follows and, in part, will beapparent from the description, or may be learned by practice of one ormore embodiments of disclosure. One or more embodiments are inclusive ofsuch additional aspects.

In accordance with one or more embodiments, a cleaning robot may includea main body having a non-circular shape, a moving assembly that may bemounted on a bottom surface of the main body to possibly perform forwardmovement to move the main body in a first direction that may be atraveling direction of the main body, backward movement to move the mainbody in a second direction opposite to the first direction, and rotationto rotate the main body within a predetermined range to change thetraveling direction of the main body, a cleaning tool assembly that maybe mounted on the bottom surface of the main body to clean a floor, adetector that may detect an obstacle around the main body, and acontroller that may determine whether an obstacle is present in front ofthe main body in the traveling direction based on a detection signal ofthe detector, control the rotation of the main body to possiblydetermine whether the main body rotates by an angle equal to or greaterthan a predetermined angle upon determining that the obstacle ispresent, and determine that the main body is in a stuck state topossibly control the backward movement of the main body if the main bodyrotates by an angle less than the predetermined angle.

The cleaning robot according to one or more embodiments may furtherinclude a plurality of bumpers that may be respectively mounted on frontand rear surfaces of the main body to possibly mitigate impact uponcollision with an obstacle. The detector may be mounted on the front andrear surfaces of the main body to possibly detect collision between theobstacle and the plurality of bumpers. The controller may determine thatthe main body is in a stuck state upon receiving a collision detectionsignal from the detector when controlling the rotation of the main body.

The controller may control periodic rotation of the main body by apredetermined angle to possibly determine whether the main body may beescapable when controlling the backward movement of the main body.

The controller may determine that the main body may be in an escapablestate if a detection signal from the detector is not received whencontrolling the rotation of the main body by the predetermined angle topossibly determine whether the main body is escapable.

The controller may control rotation of the main body by a predeterminedangle to possibly determine whether the main body may be escapable whencontrolling the backward movement of the main body.

The detector may be mounted on at least one of front, left side, rightside and rear surfaces of the main body. When controlling the rotationof the main body by the predetermined angle, the controller may controlthe forward movement of the main body if an obstacle is detected by thedetector mounted on the rear surface of the main body, and control thebackward movement of the main body if an obstacle is detected by thedetector mounted on the front surface of the main body.

The detector may include a rotation detector that may detect a rotationangle of the main body, and the controller may compare the predeterminedangle with the rotation angle that may be detected by the rotationdetector and may determine whether the main body is in the stuck state.

A size of the main body may be less than a size of a rotation spacerequired for rotation.

In accordance with one or more embodiments, a cleaning robot may includea main body that may have a non-circular shape, a moving assembly thatmay be mounted on a bottom surface of the main body to possibly move themain body, a cleaning tool assembly that may be mounted on the bottomsurface of the main body to possibly clean a floor, a detector topossibly detect whether the main body is in a stuck state of being stuckin an internal space formed in an obstacle, and a controller that maycontrol the moving assembly such that the main body may travel in adirection opposite to a direction when entering into the internal spaceformed in the obstacle upon determining that the main body is in thestuck state based on a detection signal of the detector.

A size of the main body may be less than a size of a rotation spacerequired for rotation.

The detector may include a distance detector that may detect a distanceto an obstacle, and at least one collision detector to possibly detectcollision with an obstacle on each of front and rear surfaces of themain body. The controller may determine whether an obstacle is presentin a forward direction based on a detection signal detected by thedistance detector, rotate the main body by a predetermined angle if theobstacle is present in the forward direction, and determine that themain body is in a stuck state upon receiving a detection signal from theat least one collision detector.

The detector may include at least one collision detector to possiblydetect collision with an obstacle on each of front and rear surfaces ofthe main body. The controller may determine whether an obstacle ispresent in a forward direction based on a detection signal detected bythe collision detector of the front surface of the main body, rotate themain body by a predetermined angle if the obstacle is present in theforward direction, and determine that the main body is in a stuck stateupon receiving a detection signal from the collision detector of thefront and rear surfaces.

The detector may include an obstacle detector that may be mounted on afront surface of the main body, and a rotation detector that may beprovided in the main body. The controller may control rotation of themain body by a predetermined angle upon receiving a detection signalfrom the obstacle detector provided on the front surface of the mainbody, compare the predetermined angle with a rotation angle detected bythe rotation detector, and determine that the main body is in a stuckstate if the predetermined angle is different from the rotation angle.

The detector may include a collision detector that may be provided on afront surface of the main body to possibly detect collision with anobstacle, and a rotation detector that may be provided in the main body.The controller may control rotation of the main body by a predeterminedangle upon receiving a detection signal from the collision detector,compare the predetermined angle with a rotation angle detected by therotation detector, and determine that the main body is in a stuck stateif the predetermined angle is different from the rotation angle.

When controlling the moving assembly, the controller may controlbackward movement of the main body by a predetermined distance and maycontrol rotation of the main body by a predetermined angle uponcompletion of the backward movement to possibly re-determine whether themain body is in a stuck state, and possibly determine whether the mainbody is escapable by repeating the control of re-determination.

When re-determining whether the main body is in a stuck state, thecontroller may determine that the main body is in an escapable state ifthe main body is rotatable by an angle equal to or greater than apredetermined angle, and control rotation and straight movement of themain body to bypass the obstacle.

When controlling the backward movement, the controller may controlbackward movement of the main body by a predetermined distance afterrotating the main body by a predetermined angle in a direction oppositeto a direction in which the main body is rotated by the predeterminedangle to possibly determine whether the main body is in a stuck state.

The detector may include obstacle detectors that may be mounted onfront, left side and right side surfaces of the main body. Thecontroller may calculate a lateral distance of the internal space formedin the obstacle based on obstacle detection signals detected by obstacledetectors that may be provided on the left and right side surfaces uponreceiving an obstacle detection signal from the obstacle detector thatmay be provided on the front surface of the main body, compare thecalculated distance of the internal space formed in the obstacle with apreset diameter of a rotatable space, and determine that the main bodyis in a stuck state if the distance of the internal space formed in theobstacle is shorter than the diameter of the rotatable space.

When controlling the moving assembly, if the controller controlsbackward movement of the main body, the controller may stop the backwardmovement of the main body when the detection signals are not receivedfrom the obstacle detectors that may be provided on the left and rightside surfaces of the main body, and control rotation and straightmovement of the main body to possibly bypass the obstacle.

In accordance with one or more embodiments, a method for controlling acleaning robot including a main body having a non-circular shape mayinclude determining whether an obstacle is present in front of the mainbody in a traveling direction while performing traveling and cleaning,determining whether the main body is in a stuck state of being stuck inan internal space formed in an obstacle upon determining that theobstacle is present, and moving the main body backward in a directionopposite to the traveling direction of the main body to perform anattempt to escape from the internal space formed in the obstacle upondetermining that the main body is in the stuck state.

The determining whether the main body is in the stuck state may includerotating the main body by a predetermined angle, detecting an obstaclelocated in forward and backward directions of the main body, anddetermining that the main body is in the stuck state if the obstacle islocated in the forward and backward directions of the main body.

The detecting the obstacle may include detecting at least one of acontact with the obstacle and a distance to the obstacle.

The performing the attempt to escape may include rotating the main bodyby a predetermined angle in a first direction, determining that the mainbody is in a stuck state and is not escapable if an obstacle is detectedin the forward and backward directions of the main body, determiningthat the main body is in an escapable state if no obstacle is detectedin at least one of the forward and backward directions of the main body,and controlling bypass traveling if the main body is in the escapablestate.

The determining whether the main body is in the stuck state may includedetecting an obstacle by using a detector that may be provided on leftand right side surfaces of the main body, determining whether anobstacle is located in a lateral direction of the main body, acquiring adistance to the obstacle located in the lateral direction upondetermining that the obstacle is located in the lateral direction of themain body, calculating a size of the internal space formed in theobstacle based on the acquired distance, and determining whether themain body is in the stuck state by comparing the calculated size of theinternal space formed in the obstacle with a size of a rotatable spaceof the main body.

The performing the attempt to escape may include moving the main bodybackward by a predetermined distance, detecting an obstacle by using thedetector provided on left and right side surfaces of the main body,determining whether an obstacle is located in the lateral direction ofthe main body to possibly determine whether the main body is in anescapable state, and performing rotation and straight movement of themain body to bypass the obstacle upon determining the main body is inthe escapable state.

The determining whether the main body is in the stuck state may includerotating the main body by a predetermined angle, detecting a rotationangle of the main body when the main body is rotated, comparing thepredetermined angle with the detected rotation angle, and determiningthat the main body is in the stuck state if the predetermined angle isdifferent from the detected rotation angle.

According to one or more embodiments, the cleaning robot may escape froma confined space by performing continuous backward movement in asituation in which the main body fails to move.

It may be determined whether the cleaning robot is in a stuck state byutilizing a small number of sensors, and the cleaning robot may bypassan obstacle while performing backward movement in the stuck state,thereby possibly improving traveling performance and reducingmanufacturing costs.

Accordingly, it may be possible to improve cleaning performance and auser's satisfaction.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects will become apparent and more readilyappreciated from the following description of embodiments, taken inconjunction with the accompanying drawings of which:

FIG. 1 is a top perspective view of a cleaning robot according to one ormore embodiments;

FIG. 2 is a bottom view of a cleaning robot according to one or moreembodiments;

FIG. 3 is an exploded perspective view of a cleaning robot according toone or more embodiments;

FIG. 4 is an exemplary diagram for explaining the size of a main bodyand the size of a rotatable space of a cleaning robot according to oneor more embodiments;

FIG. 5 is an exemplary diagram of a stuck state of a cleaning robotaccording to one or more embodiments;

FIG. 6 shows a control configuration of a cleaning robot according toone or more embodiments;

FIG. 7 shows an example of a control flowchart of a cleaning robotaccording to one or more embodiments;

FIGS. 8 to 10 are exemplary diagrams showing control of traveling of acleaning robot according to one or more embodiments, such as based onthe control flowchart of FIG. 7;

FIG. 11 shows another example of a control flowchart of a cleaning robotaccording to one or more embodiments; and

FIG. 12 is an exemplary diagram showing control of traveling of acleaning robot according to one or more embodiments, such as based onthe control flowchart of FIG. 11.

DETAILED DESCRIPTION

Reference will now be made in detail to one or more embodiments,illustrated in the accompanying drawings, wherein like referencenumerals refer to like elements throughout. In this regard, embodimentsof the present invention may be embodied in many different forms andshould not be construed as being limited to embodiments set forthherein, as various changes, modifications, and equivalents of thesystems, apparatuses and/or methods described herein will be understoodto be included in the invention by those of ordinary skill in the artafter embodiments discussed herein are understood. Accordingly,embodiments are merely described below, by referring to the figures, toexplain aspects of the present invention.

FIG. 1 is a top perspective view of a cleaning robot according to one ormore embodiments, FIG. 2 is a bottom view of a cleaning robot accordingto one or more embodiments, and FIG. 3 is an exploded perspective viewof a cleaning robot according to one or more embodiments.

A cleaning robot 100 may perform cleaning by wiping foreign substancessuch as dust on the floor while autonomously traveling about a cleaningarea in the home when a cleaning command is input by a user, or at acleaning reservation time.

When a cleaning end command is input by the user, when it may bedetermined that cleaning has been completed, or when remaining batterycharge falls below a reference level, the cleaning robot 100 may performcharging by performing docking with a recharging base (not shown), andreceiving power from the recharging base (not shown) when docking iscompleted.

In this case, the recharging base (not shown) may include a transformerconnected to an external commercial AC power source to convertcommercial AC power supplied from the external commercial AC powersource, a rectifier to half-wave rectify or full-wave rectify theconverted power, a smoothing unit to smooth the rectified power, and avoltage adjusting unit to output the smoothed power as DC power with aconstant voltage. The recharging base may supply the DC power output bythe voltage adjusting unit to the cleaning robot 100 through a powerterminal.

Further, the recharging base (not shown) further may include a dockingcommunication unit (not shown) to transmit/receive a docking signal fordocking with the cleaning robot 100 to/from the cleaning robot 100.

one or more embodiments may be applied to a dry or wet cleaning robot,but the following description will be given only in conjunction with awet cleaning robot.

As shown in FIG. 1, the cleaning robot 100 may include a main body 110having a non-circular shape such as an oval or polygonal shape to formthe outer appearance, a user interface 120 mounted on the upper part ofthe main body 110 to receive operation information and reservationinformation or the like and display operating information, and anobstacle detector 130 to detect obstacle information in the cleaningarea.

More specifically, the user interface 120 may include an input unit 121to receive, for example, cleaning reservation information and operationinformation or the like, and a display unit 122 to display, for example,the cleaning reservation information, a charging state, informationabout the water level of a water tank, an operation mode and the like.In this case, the operation mode may include, for example, a cleaningmode, a standby mode, a docking mode and the like.

The detector 130 may include an obstacle detector to detect a distanceto an obstacle as well as collision with an obstacle, and the presenceor absence of an obstacle. The cleaning robot may include at least onedetector 130 mounted on front, left and/or right side surfaces of themain body 110 to detect an obstacle located in the forward direction orlateral direction of the main body.

In addition, the detector 130 may include at least one detector mountedon the rear surface of the main body 110.

The detector 130 may include a distance detector, for example, a laser,ultrasonic, infrared (IR), or radio frequency (RF) distance detector orthe like, and/or a collision detector based on physical contact, such asa micro switch.

As shown in FIGS. 1 and 2, the main body 110 of the cleaning robot 100may be formed in an oval or polygonal shape rather than a circularshape, and may include a first bumper 111 a mounted on the front side ofthe main body 110 to possibly mitigate the impact during collision withthe obstacle, and a second bumper 111 b mounted on the rear side of themain body 110 to possibly mitigate impact during collision with theobstacle. The main body 110 further may include a frame 112 upon which apower supply unit, a moving assembly, a cleaning tool assembly, a drivemodule and the like may be mounted.

In this case, when a direction in which the main body moves for cleaningis a forward traveling direction, the front surface of the main body isa surface located at the front side when traveling in the forwarddirection, and the rear surface of the main body is a surface located atthe rear side when traveling in the forward direction.

As shown in FIG. 2, the cleaning robot 100 may include a power supplyunit 140 to supply power for driving to each component, a movingassembly 150 that may be installed on the rear bottom surface of themain body 110 to move the main body 110, and a cleaning tool assembly160 that may be provided on the front bottom surface of the main body110 to possibly wet-clean foreign substances such as dust on the floor.

As shown in FIG. 3, the cleaning robot 100 may include a water supplyunit 170 to supply water to the cleaning tool assembly, a moisturedetector 180 to detect the amount of moisture of pads of the cleaningtool assembly, and a drive module 190 to drive the moving assembly 150,the cleaning tool assembly 160, the water supply unit 170 and themoisture detector 180 by using power supplied from the power supply unit140.

The power supply unit 140 may include a battery which may beelectrically connected to various components 120, 130, 140, 150, 160 and170 mounted on the main body 110 to supply driving power to variouscomponents.

In this case, the battery may be a rechargeable secondary battery, whichmay be electrically connected to the recharging base (not shown) throughtwo charging terminals (not shown) and receives power from therecharging base (not shown) to perform charging.

The moving assembly 150 may include a pair of wheels 151 and 152 thatmay be installed rotatably at the left and right edges of the rear areaof the main body 110 to rotate and move the main body 110 forward orbackward, and wheel motors 153 and 154 to apply driving force to thewheels 151 and 152. In this case, the wheels 151 and 152 may be arrangedsymmetrically with each other.

Forward movement may involve moving the main body in the forwarddirection by rotating two wheel motors at the same speed in a firstdirection, that is, a traveling direction. Backward movement may involvemoving the main body in the backward direction by rotating two wheelmotors at the same speed in a second direction (counter-travelingdirection) opposite to the first direction. Rotation may involverotating the main body by a predetermined angle within a predeterminedrange by rotating two wheel motors at different speeds. That is, themain body has a traveling direction different from the first directionand the second direction during rotation.

Further, in forward and backward movement, since the cleaning robotmoves straight in a non-rotating state of the main body, only the movingdistance is changed without changing the orientation. In rotation, sincethe cleaning robot rotates about the center of the main body, theorientation of the cleaning robot may be changed without change inposition.

The cleaning tool assembly 160 may be provided on the front bottomsurface of the main body 110, and may wet-clean dust on the floor belowthe main body 110.

As shown in FIGS. 2 and 3, the cleaning tool assembly 160 may includejig members 161 and 162 that may be mounted on the front left and rightsides of the frame 112 of the main body 110, and at least one drum typepad member 163 that may be detachably coupled between two jig members161 and 162. In this case, the drum type pad member 163 may beimplemented, for example, using a single pad member or multiple padmembers.

The cleaning tool assembly 160 further may include a gear member 164 forrotating a plurality of drum type pad members 163-1, 163-2 and 163-3.

Each of the plurality of drum type pad members 163-1, 163-2 and 163-3may include a drum 163 a, a pad 163 b that may be detachably mounted onthe outer surface of the drum 163 a and in contact with the floor towash the floor, and protruding parts 163 c that may be formed at bothends of the drum 163 a to protrude outwardly from both ends and insertedand that may be coupled between the jig member 161 and the jig member162.

The drum type pad members 163-1, 163-2 and 163-3 may be arrangedcontinuously in the backward direction with respect to the travelingdirection of the main body. Accordingly, the second drum type pad member163-2 and the third drum type pad member 163-3 may sequentially pass, inan overlapping manner, a position to which the first drum type padmember 163-1 moves.

That is, the cleaning robot 100 may repeatedly clean one position byusing the plurality of drum type pad members 163-1, 163-2 and 163-3.

The pad 163 b may be separated from the drum 163 a for replacement.

The pad 163 b may be formed to protrude outwardly from the main body 110in order to possibly ensure a sufficient frictional force with thefloor. In this case, the pad 163 b may be formed to protrude downwardlyfrom two wheels 151 and 152.

Further, the drum type pad members 163-1, 163-2 and 163-3 may be rotatedclockwise or counter-clockwise.

Further, the plurality of drum type pad members 163-1, 163-2 and 163-3may be connected to different gear members, respectively, and may berotated in different directions and at different rates of rotation.

The water supply unit 170 may be disposed on the frame 112 to supplywater to at least one drum type pad member among the first drum type padmember 163-1, the second drum type pad member 163-2 and the third drumtype pad member 163-3.

The water supply unit 170 may include a water tank, a pump, and a flowpath member, and may further include a water level detector to detectthe amount of water in the water tank.

The moisture detector 180 may be implemented by at least one detector todetect the amount of moisture remaining in at least one drum type padmember among the drum type pad members 163-1, 163-2 and 163-3 of thecleaning tool assembly 160.

The cleaning robot 100 may further include a pad detector (not shown)for detecting whether the pad of the cleaning tool assembly is mounted.In this case, the pad detector may be implemented by using an opticalsensor or micro-switch installed adjacent to the cleaning tool assembly.

Further, in the case of a dry cleaning robot, the cleaning tool assemblymay include a brush to collect foreign substances on the floor insteadof a pad, a motor to rotate the brush, and a dust collecting unit tocollect foreign substances.

In this cleaning robot, the size of a rotation space occupied by themain body during rotation is greater than the size of the main body.Although the robot may enter an internal space formed in an obstacle, ifthe size of the internal space formed in the obstacle is smaller thanthe size of a rotatable space of the main body, the robot may beincapable of escape by rotational movement of the main body.

This will be described with reference to FIGS. 4 and 5.

As shown in FIG. 4, if the main body of the cleaning robot has arectangular shape with sides a and b and rotates with respect to thecenter O, the rotation space occupied by the main body during rotationhas the same size as the size of a circular space having a diameter L.That is, it can be seen that the size of the rotation space is largerthan the size of the main body of the cleaning robot.

Accordingly, as shown in FIG. 5, the cleaning robot 100 may enter aninternal space formed in an obstacle W if a horizontal length a of themain body is smaller than a horizontal length d of the internal spaceformed in the obstacle. However, the internal space formed in theobstacle is a space where the plane corresponding to the travelingdirection of the cleaning robot is closed, and the cleaning robot is nolonger capable of moving forward. Further, since the length d of theinternal space formed in the obstacle is shorter than the diameter L ofthe rotatable space of the main body, rotation of the main body isimpossible. In this case, the cleaning robot may attempt to escape fromthe internal space formed in the obstacle using backward movement. Acontrol configuration of the cleaning robot for such an escape processwill be described.

FIG. 6 shows a control configuration of the cleaning robot according toone or more embodiments, which may include the user interface 120, thedetector 130 and the drive module 190.

The user interface 120 may include the input unit 121 to receive thecleaning reservation information, cleaning start/end command andoperation mode and the like, and a display unit 122 to display thecleaning reservation information, charging state information, operationmode, operating state information and the like.

The detector 130 may include an obstacle detector 131 mounted on atleast one surface among the front, side and/or rear surfaces of the mainbody to detect an obstacle in the cleaning area. The obstacle detectormay transmit a detection signal of the detected obstacle to a controller191.

The detector 130 may include at least one of a distance detector 131 abased on distance detection and/or a collision detector 131 b based oncollision detection.

Here, the distance detector 131 a based on distance detection mayinclude at least one detector using, e.g., laser, ultrasonic, infrared(IR) and RF waves, and the like, and the collision detector 131 b basedon the collision detection may include at least one detector such as amicro switch and a touch sensor and the like.

The distance detector 131 a may include a plurality of detectors mountedon the front, left and/or right sides, and the collision detector 131 bmay include at least one detector mounted on each of a first bumper 111a and a second bumper 111 b.

The detector 130 may further include a rotation detector 132 to detectan actual rotation angle of the main body 110. In this case, therotation detector 132 may include at least one of an inertialmeasurement unit (IMU), a gyroscopic sensor, and an encoder and thelike.

The drive module 190 may drive the moving assembly 150 and the cleaningtool assembly 160 based on a signal transmitted from the user interface120 and the detector 130.

The drive module 190 may include the controller 191, a storage unit 192,and a plurality of drivers 193 and 194.

The controller 191 may control the moving assembly 150 and the cleaningtool assembly 160 based on random or preset map information when acleaning command is input for execution of traveling and cleaningoperations.

The controller 191 may control the moving assembly 150 based on adetection signal obtained by the detector 130 to bypass an obstacle whencontrolling traveling. In this case, the controller 191 may control atleast one of forward movement, backward movement and rotation of themain body.

The controller 191 may determine whether the main body is in a stuckstate upon detection of an obstacle in the forward direction. Upondetermining that the main body is in a stuck state, the controller 191may control the moving assembly 150 to enable the main body to escapefrom the internal space formed in the obstacle.

In this case, determining whether the main body is in a stuck state maybe largely divided into two cases: determining whether the main body mayrotate by an angle equal to or greater than a predetermined angle (1) to(4), and determining whether an obstacle is present in the forward,backward and lateral directions (5).

These may be classified according to arrangement of detectors, and willbe described in more detail.

(1) When the cleaning robot 100 includes an obstacle detector mounted onthe front surface of the main body, and a collision detector to detectthe collision of the first bumper and the second bumper, the controller191 may control the main body to rotate by a predetermined angle uponreceiving an obstacle detection signal from the obstacle detectorprovided on the front surface of the main body. In this case, thecontroller 191 may determine that the main body is in a stuck state uponreceiving a collision detection signal from the collision detector ofthe first bumper and the second bumper.

In addition, the controller may control the main body to rotate by anangle equal to or greater than a predetermined angle, but the main bodymay fail to rotate by an angle equal to or greater than a predeterminedangle due to collision with the obstacle.

(2) When the cleaning robot 100 includes an obstacle detector mounted onthe front surface of the main body and a rotation detector provided onthe main body, the controller 191 may control the main body to rotate bya predetermined angle upon receiving an obstacle detection signal fromthe obstacle detector provided on the front surface of the main body. Inthis case, the controller 191 may compare a rotation angle detected bythe rotation detector with the predetermined angle, and may determinethat the main body is in a stuck state when the detected rotation angleis different from the predetermined angle.

(3) When the cleaning robot 100 includes a collision detector to detectcollision of each of the first bumper and the second bumper, thecontroller 191 may control the main body to rotate by a predeterminedangle upon receiving a collision detection signal of the first bumperfrom the collision detector. In this case, the controller 191 maydetermine that the main body is in a stuck state upon receiving bothcollision detection signals from the collision detector of the firstbumper and the second bumper.

(4) When the cleaning robot 100 includes a collision detector to detectcollision of the first bumper and a rotation detector provided on themain body, the controller 191 may control the main body to rotate by apredetermined angle upon receiving a collision detection signal of thefirst bumper from the collision detector. In this case, the controller191 may compare a rotation angle detected by the rotation detector withthe predetermined angle, and may determine that the main body is in astuck state when the detected rotation angle is different from thepredetermined angle.

(5) When the cleaning robot 100 includes obstacle detectors mounted onthe front and side surfaces of the main body, upon receiving an obstacledetection signal from the obstacle detector provided on the frontsurface of the main body, the controller 191 may calculate a lateraldistance of the internal space formed in the obstacle based on obstacledetection signals detected by obstacle detectors provided on both sidesurfaces of the main body, may compare the calculated distance of theinternal space formed in the obstacle with the preset diameter of therotatable space, and may determine that the main body is in a stuckstate if the distance of the internal space formed in the obstacle isshorter than the diameter of the rotatable space.

A control configuration to perform escape will hereinafter be describedin detail.

(1) The controller 191 may control the moving assembly 150 to move themain body by a predetermined distance, and may re-determine whether themain body is in a stuck state by rotating the main body by apredetermined angle upon completion of backward movement. Upondetermining that the main body is in a stuck state as a result of there-determination, a process of performing backward movement and rotationmay be repeated. Upon determining that the main body is not in a stuckstate by repeating the re-determination, it may be determined that themain body is in an escapable state, and rotation and forward movementmay be performed to bypass the obstacle.

In addition, if the main body has been rotated by a predetermined anglein the first direction in order to determine whether the main body is ina stuck state, the controller 191 may rotate the main body by apredetermined angle in the second direction opposite to the firstdirection and moves the main body backward by a predetermined distance.

(2) The controller 191 may control the moving assembly 150 to controlescape while performing the backward movement, and checks the presenceor absence of an obstacle in the lateral direction by using the obstacledetectors provided on the left and right sides. In this case, backwardmovement may be performed until no obstacle is detected in the lateraldirection. If no obstacle is detected in the lateral direction, it maybe determined that the main body is in an escapable state, and therotation and the forward movement may be performed to bypass theobstacle.

In this case, the controller 191 may rotate the main body in a directionin which no obstacle is detected to bypass the obstacle if no obstaclehas been detected in only one direction of the left and right directionsof the main body.

In addition, the controller 191 may determine the presence or absence ofan obstacle in the lateral direction while traveling in the backwarddirection by a predetermined distance during control of backwardmovement.

The storage unit 192 may store a predetermined angle and a predetermineddistance for escape when the main body is in a stuck state. In thiscase, the predetermined angle may be a rotation angle of the main body,and the predetermined distance may be a distance of the backwardmovement of the main body.

The storage unit 192 may store a diameter of the rotatable space of themain body.

The first driver 193 may drive a pair of wheel motors 153 and 154 basedon commands from the controller 191 to rotate and move the main body 110forward and backward.

The second driver 194 may drive the gear member 164 based on thecommands from the controller 191, thereby rotating the drum type padmembers 163-1, 163-2 and 163-3.

FIG. 7 is a control flowchart of a cleaning robot according to one ormore embodiments, which shows a process in which a stuck state isdetermined by whether the main body is rotatable, and escape isattempted by rotating and moving the main body backward. This will bedescribed with reference to FIGS. 8 to 10.

When a cleaning command is input to the input unit 121 (operation 201)or at a cleaning reservation time, the cleaning robot may operate themoving assembly and the cleaning tool assembly, thereby possiblyperforming traveling and cleaning (operation 202).

In addition, during traveling, the cleaning robot may travel in apredetermined traveling pattern based on a random or preset map.

While performing traveling and cleaning, the cleaning robot may detectan obstacle by using the detector 130 (operation 203). In this case,while performing traveling in a forward direction that is a basictraveling direction, i.e., forward movement, the cleaning robot maydetect an obstacle located in the forward direction.

In this case, detecting an obstacle located in the forward direction mayinclude detecting the collision with the first bumper mounted on thefront surface of the main body, or detecting the presence or absence ofan obstacle or a distance to an obstacle.

Upon determining that an obstacle is present in the forward direction,the cleaning robot may rotate the main body 110 by a predetermined anglein the first direction in order to determine that the main body is in astuck state (operation 204). Then, once rotation of the main body iscompleted, the cleaning robot may determine whether the main body is ina stuck state due to the obstacle (operation 205).

Determining that the main body is in a stuck state according to thedetection results of the obstacle located in the forward direction mayvary depending on arrangement of detectors provided on the main body.This will be described in more detail.

(1) When the cleaning robot 100 includes an obstacle detector mounted onthe front surface of the main body, and a collision detector to detectcollision of the first bumper and the second bumper, the cleaning robotmay rotate by a predetermined angle upon receiving an obstacle detectionsignal from the obstacle detector provided on the front surface of themain body. In this case, as shown in FIG. 8, the cleaning robot maydetermine that the main body is in a stuck state upon receiving acollision detection signal from the collision detector of the firstbumper and the second bumper.

(2) When the cleaning robot 100 includes an obstacle detector mounted onthe front surface of the main body and a rotation detector provided onthe main body, the cleaning robot may rotate the main body by apredetermined angle upon receiving an obstacle detection signal from theobstacle detector provided on the front surface of the main body. Inthis case, the cleaning robot may compare a rotation angle detected bythe rotation detector with the predetermined angle, and may determinethat the main body is in a stuck state when the detected rotation angleis different from the predetermined angle.

(3) When the cleaning robot 100 includes a collision detector to detectthe collision of each of the first bumper and the second bumper, thecleaning robot may rotate the main body by a predetermined angle uponreceiving a collision detection signal of the first bumper from thecollision detector. In this case, the cleaning robot may determine thatthe main body is in a stuck state upon receiving collision detectionsignals from both the collision detector of the first bumper and thecollision detector of the second bumper.

(4) When the cleaning robot 100 includes a collision detector to detectcollision of the first bumper and a rotation detector provided on themain body, the cleaning robot may rotate the main body by apredetermined angle upon receiving a collision detection signal of thefirst bumper from the collision detector. In this case, the cleaningrobot may compare a rotation angle detected by the rotation detectorwith the predetermined angle, and may determine that the main body is ina stuck state when the detected rotation angle is different from thepredetermined angle.

The cleaning robot may determine whether the main body is in a stuckstate by using any one of the above methods.

Then, upon determining that the main body is in a stuck state, thecleaning robot may rotate the main body in the second direction oppositeto the first direction (operation 206). Once rotation in the seconddirection is completed, the cleaning robot may operate the movingassembly, thereby moving the main body backward by a predetermineddistance (operation 207).

Then, the cleaning robot may determine whether it is possible to escape(operation 208).

In this case, determining whether the main body is escapable may includedetermining whether the main body is still in a stuck state, and aprocess of determining whether the main body is rotatable is used.

That is, a process of determining whether the main body is in a stuckstate may be repeated to determine whether the main body is escapable.

This will be described with reference to FIG. 9.

Upon determining that an obstacle is present in the forward direction((1) of FIG. 9), the cleaning robot may rotate the main body in thefirst direction by a predetermined angle ((2) of FIG. 9). In this case,if a collision detection signal may be generated due to contact betweenthe obstacle and two bumpers 111 a and 111 b of the main body, it may bedetermined that the main body is in a stuck state.

Then, the cleaning robot may rotate the main body in the seconddirection opposite to the first direction, and once rotation in thesecond direction is completed, may operate the moving assembly to movethe main body backward by a predetermined distance c ((3) of FIG. 9).

Then, in order to determine whether the main body is escapable, thecleaning robot may rotate the main body in the first direction by apredetermined angle ((4) of FIG. 9). In this case, if a collisiondetection signal is generated due to contact between the obstacle andtwo bumpers 111 a and 111 b, it may be determined that the main body isin a stuck state.

Then, the cleaning robot may rotate the main body in the seconddirection, and when the rotation in the second direction is completed,may operate the moving assembly to move the main body backward by apredetermined distance c ((5) of FIG. 9).

Then, in order to determine whether the main body is escapable, thecleaning robot may rotate the main body in the first direction by apredetermined angle ((6) of FIG. 9). In this case, if a collisiondetection signal is generated due to contact between the obstacle andtwo bumpers 111 a and 111 b, it may be determined that the main body isin a stuck state.

As described above, the cleaning robot may periodically check whetherthe main body may escape from the internal space formed in the obstaclethrough the rotation of the main body while periodically attempting torotate the main body.

Then, the cleaning robot may rotate the main body in the seconddirection, and when the rotation in the second direction is completed,may operate the moving assembly to move the main body backward by apredetermined distance c ((7) of FIG. 9).

Then, in order to determine whether the main body is escapable, thecleaning robot may rotate the main body in the first direction by apredetermined angle ((8) of FIG. 9). In this case, the main body of thecleaning robot is not in contact with the obstacle, and a collisiondetection signal of the bumper is not generated through the detector.Accordingly, the cleaning robot may determine that the main body mayescape from the internal space formed in the obstacle.

Then, the cleaning robot may determine whether the obstacle is presentin the forward direction while rotating the main body. If no obstacle ispresent in the forward direction, the cleaning robot stops rotation andmay perform forward movement to bypass the obstacle ((9) of FIG. 9).

In addition, when the main body is rotated by a predetermined angle todetermine whether the main body is escapable, if a collision detectionsignal is detected by the detector mounted on the first bumper or thesecond bumper, traveling may be performed in the direction of the bumperwhich has not detected collision. This will be described with referenceto FIG. 10.

Upon determining that an obstacle W is present in the forward direction((1) of FIG. 10), the cleaning robot may rotate the main body in thefirst direction by a predetermined angle ((2) of FIG. 10). In this case,if a collision detection signal is generated due to contact between theobstacle and two bumpers 111 a and 111 b of the main body, it may bedetermined that the main body is in a stuck state.

Then, the cleaning robot may rotate the main body in the seconddirection opposite to the first direction, and when rotation in thesecond direction is completed, may operate the moving assembly to movethe main body backward by a predetermined distance c ((3) of FIG. 10).

Then, in order to determine whether the main body is escapable, thecleaning robot may rotate the main body in the first direction by apredetermined angle ((4) of FIG. 10). In this case, if a collisiondetection signal is generated due to contact between the obstacle andtwo bumpers 111 a and 111 b, it may be determined that the main body isin a stuck state.

Then, the cleaning robot may rotate the main body in the seconddirection, and, once rotation in the second direction is completed, mayoperate the moving assembly to move the main body backward by apredetermined distance c ((5) of FIG. 10).

Then, in order to determine whether the main body is escapable, thecleaning robot may rotate the main body in the first direction by apredetermined angle ((6) of FIG. 10). In this case, if a collisiondetection signal is generated in the detector provided in the secondbumper due to contact between the obstacle and the second bumper 111 band no collision detection signal is generated in the detector providedin the first bumper 111 a, it may be determined that the main body is inan escapable state, and it may be determined that it is impossible toescape in a right direction in which the obstacle having come intocontact with the second bumper is located.

Accordingly, the cleaning robot may rotate the main body in the firstdirection such that the front surface of the main body is oriented tothe left ((7) of FIG. 10). In this case, upon determining that there isno obstacle in the forward direction of the main body, the cleaningrobot may stop rotation and may perform forward movement to bypass theobstacle.

Through this process, the cleaning robot stuck in the internal spaceformed in the obstacle may escape from the internal space formed in theobstacle.

That is, in a state wherein the main body is rotated in the firstdirection by a predetermined angle, the cleaning robot may operate themoving assembly to rotate the main body until no obstacle is detected inthe forward direction. If there is no obstacle in the forward direction,bypass traveling may be performed by performing forward movement tobypass the obstacle (operation 209).

In addition, in the state wherein the main body is rotated in the firstdirection by a predetermined angle, if no obstacle has been detected inthe forward direction, additional rotation may be omitted and forwardmovement may be performed.

If an obstacle is detected in the forward direction, but it isdetermined that the main body is not in a stuck state, the cleaningrobot may rotate the main body to perform bypass traveling. In thiscase, the cleaning robot may rotate in a direction in which an obstacleis not detected.

When determining whether the main body is in a stuck state and whendetermining whether the main body is in an escapable state, the cleaningrobot may operate or stop the cleaning tool assembly.

During traveling and cleaning, the cleaning robot may determine whethercleaning is completed (operation 210), and may control docking with therecharging base upon determining that cleaning has been completed.

In addition, when cleaning has been completed, or when remaining batterycharge falls below a reference level, the cleaning robot 100 may performcharging by docking with the recharging base (not shown), and receivingpower from the recharging base (not shown) once docked.

FIG. 11 is a control flowchart of a cleaning robot according to one ormore embodiments, which shows a process in which whether the main bodyis in a stuck state is determined based on a distance to an obstacle inthe forward and lateral direction, and escape is attempted based on adistance to an obstacle in the lateral direction. This will be describedwith reference to FIG. 12.

When a cleaning command is input to the input unit 121 (operation 211)or at a cleaning reservation time, the cleaning robot may operate themoving assembly and the cleaning tool assembly, thereby possiblyperforming traveling and cleaning (operation 212).

In addition, during the traveling, the cleaning robot may travel in apredetermined traveling pattern based on a random or preset map.

While performing traveling and cleaning, the cleaning robot may detectan obstacle located in the forward direction by using the detector 130that may be mounted on the front surface of the main body (operation213).

In this case, detecting an obstacle located in the forward direction mayinclude detecting collision with the first bumper mounted on the frontsurface of the main body, or detecting the presence or absence of anobstacle or a distance to an obstacle.

Upon determining that an obstacle is present in the forward direction,the cleaning robot may detect an obstacle located in the lateraldirection using the detector mounted on the left and/or right sides ofthe main body in order to determine that the main body is in a stuckstate (operation 214).

In this case, the cleaning robot may acquire a distance to the obstaclein the lateral direction by using an obstacle detection signal that maybe detected by the detector on the left and/or right sides, and maycalculate a distance of the internal space formed in the obstacle basedon the acquired distance to the obstacle in the lateral direction. Then,the cleaning robot may compare the calculated distance of the internalspace formed in the obstacle with the preset diameter of the rotatablespace of the main body, and may determine whether the main body is in astuck state (operation 215). That is, the cleaning robot may determinethat the main body is in a stuck state if the distance of the internalspace formed in the obstacle is shorter than the diameter of therotatable space.

Then, upon determining that the main body is in a stuck state, thecleaning robot may operate the moving assembly to move the main bodybackward by a predetermined distance (operation 216).

Then, the cleaning robot may determine whether the main body isescapable (operation 217).

In this case, determining whether the main body is escapable may includedetermining whether the main body is still in a stuck state, and aprocess of acquiring a distance to the obstacle is used.

That is, a process of determining whether the main body is in a stuckstate may be repeated to determine whether the main body is escapable.

This will be described with reference to FIG. 12.

Upon determining that an obstacle is present in the forward direction((1) of FIG. 12), the cleaning robot may move the main body backward bya predetermined distance by operating the moving assembly ((2) of FIG.12). Once backward movement is completed, the obstacle located in thelateral direction of the main body may be detected using the detectormounted on the left and/or right sides of the main body.

In this case, the cleaning robot may acquire a distance e to theobstacle in the lateral direction by using the detected obstacledetection signal, and may calculate a distance of the internal spaceformed in the obstacle based on the acquired distance to the obstacle inthe lateral direction. The cleaning robot may compare the calculateddistance of the internal space formed in the obstacle with the presetdiameter of the rotatable space of the main body, and may determinewhether the main body is in a stuck state.

That is, the cleaning robot may determine that the main body is in astuck state if the distance of the internal space formed in the obstacleis shorter than the diameter of the rotatable space.

Then, upon determining that the main body is in a stuck state, thecleaning robot may move the main body backward by a predetermineddistance by operating the moving assembly ((3) of FIG. 12). Whenbackward movement is completed, after an obstacle located in the lateraldirection is detected using the detector mounted on the left and/orright sides of the main body, a distance to the obstacle in the lateraldirection may be acquired by the detected obstacle detection signal.

As shown in (3) of FIG. 12, the cleaning robot is in a state of havingescaped from the internal space formed in the obstacle, and an obstacleis not detected through the detector provided at the left and rightsides. That is, a distance to the obstacle located in the lateraldirection is not acquired.

Thus, the cleaning robot may determine that the cleaning robot isescapable from the internal space formed in the obstacle, and maydetermine whether an obstacle is present in the forward direction whilerotating the main body. If no obstacle is present in the forwarddirection, the cleaning robot may stop the rotation and may performforward movement, thereby possibly performing bypass traveling to bypassthe obstacle (operation 218).

If an obstacle is detected in the forward direction, but it isdetermined that the main body is not in a stuck state, the cleaningrobot may rotate the main body to perform bypass traveling. In thiscase, the cleaning robot may rotate in a direction in which an obstacleis not detected.

When determining whether the main body is in a stuck state and whendetermining whether the main body is in an escapable state, the cleaningrobot may operate or stop the cleaning tool assembly.

During the traveling and cleaning, the cleaning robot may determinewhether cleaning is completed (operation 219), and may control dockingwith the recharging base upon determining that cleaning has beencompleted.

In addition, when cleaning has been completed, or when remaining batterycharge falls below a reference level, the cleaning robot 100 may performcharging by docking with the recharging base (not shown), and receivingpower from the recharging base (not shown) once docked.

As is apparent from the above description, the cleaning robot may escapeto the outside from the confined space by performing continuous backwardmovement in a situation wherein the main body of the cleaning robot maynot move. Further, it may be determined whether the cleaning robot is ina stuck state by utilizing a small number of sensors, and the cleaningrobot may bypass an obstacle while performing backward movement in thestuck state, thereby possibly improving traveling performance andreducing manufacturing costs.

In one or more embodiments, any apparatus, system, element, orinterpretable unit descriptions herein include one or more hardwaredevices or hardware processing elements. For example, in one or moreembodiments, any described apparatus, system, element, retriever, pre orpost-processing elements, tracker, detector, encoder, decoder, etc., mayfurther include one or more memories and/or processing elements, and anyhardware input/output transmission devices, or represent operatingportions/aspects of one or more respective processing elements ordevices. Further, the term apparatus should be considered synonymouswith elements of a physical system, not limited to a single device orenclosure or all described elements embodied in single respectiveenclosures in all embodiments, but rather, depending on embodiment, isopen to being embodied together or separately in differing enclosuresand/or locations through differing hardware elements.

In addition to the above described embodiments, embodiments can also beimplemented through computer readable code/instructions in/on anon-transitory medium, e.g., a computer readable medium, to control atleast one processing device, such as a processor or computer, toimplement any above described embodiment. The medium can correspond toany defined, measurable, and tangible structure permitting the storingand/or transmission of the computer readable code.

The media may also include, e.g., in combination with the computerreadable code, data files, data structures, and the like. One or moreembodiments of computer-readable media include: magnetic media such ashard disks, floppy disks, and magnetic tape; optical media such as CDROM disks and DVDs; magneto-optical media such as optical disks; andhardware devices that are specially configured to store and performprogram instructions, such as read-only memory (ROM), random accessmemory (RAM), flash memory, and the like. Computer readable code mayinclude both machine code, such as produced by a compiler, and filescontaining higher level code that may be executed by the computer usingan interpreter, for example. The media may also be any defined,measurable, and tangible distributed network, so that the computerreadable code is stored and executed in a distributed fashion. Stillfurther, as only an example, the processing element could include aprocessor or a computer processor, and processing elements may bedistributed and/or included in a single device.

The computer-readable media may also be embodied in at least oneapplication specific integrated circuit (ASIC) or Field ProgrammableGate Array (FPGA), as only examples, which execute (e.g., processes likea processor) program instructions.

While aspects of the present invention have been particularly shown anddescribed with reference to differing embodiments thereof, it should beunderstood that these embodiments should be considered in a descriptivesense only and not for purposes of limitation. Descriptions of featuresor aspects within each embodiment should typically be considered asavailable for other similar features or aspects in the remainingembodiments. Suitable results may equally be achieved if the describedtechniques are performed in a different order and/or if components in adescribed system, architecture, device, or circuit are combined in adifferent manner and/or replaced or supplemented by other components ortheir equivalents.

Thus, although a few embodiments have been shown and described, withadditional embodiments being equally available, it would be appreciatedby those skilled in the art that changes may be made in theseembodiments without departing from the principles and spirit of theinvention, the scope of which is defined in the claims and theirequivalents.

What is claimed is:
 1. A cleaning robot comprising: a main body; amoving assembly mounted on a bottom surface of the main body to move themain body; a cleaning tool assembly mounted on the bottom surface of themain body to clean a floor; a detector to detect whether the main bodyis in a stuck state of being stuck in an internal space that is at leastpartially defined by an obstacle; and a controller to control a backwardmovement of the main body upon determining that the main body is in thestuck state based on a detection signal of the detector, wherein thebackward movement allows the main body to move in a direction oppositeto a direction when entering into the internal space, which is at leastpartially defined by the obstacle, wherein when controlling the movingassembly, the controller controls rotation of the main body by apredetermined angle to re-determine whether the main body is in thestuck state, determines that the main body is in the stuck state andcannot escape from the stuck state when the obstacle is detected in theforward and backward directions of the main body, determines that themain body can escape from the stuck state when no obstacle is detectedin at least one of the forward and backward directions of the main body,and controls bypass traveling when the main body can escape from thestuck state.
 2. The cleaning robot according to claim 1, wherein a sizeof the main body is less than a size of a rotation space required forrotation.
 3. The cleaning robot according to claim 1, wherein thedetector comprises a distance detector to detect a distance to anobstacle, and at least one collision detector, on each of front and rearsurfaces of the main body, to detect collision with an obstacle, andwherein the controller determines whether an obstacle is present in aforward direction based on a detection signal detected by the distancedetector, rotates the main body by the predetermined angle when theobstacle is present in the forward direction, and determines that themain body is in a stuck state upon receiving a detection signal from theat least one collision detector.
 4. The cleaning robot according toclaim 1, wherein the detector comprises at least one collision detectorto detect collision with an obstacle on each of front and rear surfacesof the main body, and wherein the controller determines whether anobstacle is present in a forward direction based on a detection signaldetected by the collision detector of the front surface of the mainbody, rotates the main body by the predetermined angle when the obstacleis present in the forward direction, and determines that the main bodyis in a stuck state upon receiving a detection signal from the collisiondetectors on the front and rear surfaces.
 5. The cleaning robotaccording to claim 1, wherein the controller determines whether the mainbody can escape from the stuck state by repeating the backward movementand performing a re-determination.
 6. The cleaning robot according toclaim 5, wherein when re-determining whether the main body is in a stuckstate, the controller determines that the main body can escape from thestuck state when the main body is rotatable by an angle equal to orgreater than the predetermined angle, and controls rotation and straightmovement of the main body to bypass the obstacle.
 7. The cleaning robotaccording to claim 5, wherein the controller controls rotation of themain body by the predetermined angle in a direction opposite to adirection in which the main body is rotated by the predetermined anglebefore the backward movement.
 8. A method for controlling a cleaningrobot including a main body comprising: determining whether an obstacleis present in front of the main body in a traveling direction whileperforming traveling and cleaning; determining whether the main body isin a stuck state of being stuck in an internal space that is at leastpartially defined by an obstacle upon determining that the obstacle ispresent; and moving the main body backward in a direction opposite tothe traveling direction of the main body to perform an attempt to escapefrom the internal space, which is at least partially defined by theobstacle, upon determining that the main body is in the stuck state,wherein the performing the attempt to escape comprises: rotating themain body by a predetermined angle, determining that the main body is ina stuck state and cannot escape from the stuck state when an obstacle isdetected in the forward and backward directions of the main body,determining that the main body can escape from the stuck state when noobstacle is detected in at least one of the forward and backwarddirections of the main body, and controlling bypass traveling when themain body can escape from the stuck state.
 9. The method according toclaim 8, wherein the detecting the obstacle comprises: detecting atleast one of a contact with the obstacle and a distance to the obstacle.10. An autonomous robot comprising: a main body; a moving assemblymounted on a bottom surface of the main body to move the main body; adetector to detect whether the main body is in a stuck state of beingstuck in an internal space that is at least partially defined by anobstacle; and a controller to control the moving assembly such that themain body travels in a direction opposite to a direction when enteringinto the internal space, which is at least partially defined by theobstacle, upon determining that the main body is in the stuck statebased on a detection signal of the detector, wherein when controllingthe moving assembly, the controller controls rotation of the main bodyby a predetermined angle to re-determine whether the main body canescape from the stuck state, determines that the main body is in thestuck state and cannot escape from the stuck state when the obstacle isdetected in the forward and backward directions of the main body,determines that the main body can escape from the stuck state when noobstacle is detected in at least one of the forward and backwarddirections of the main body, and controls bypass traveling when the mainbody can escape from the stuck state.
 11. The autonomous robot accordingto claim 10, wherein the detector comprises a distance detector todetect a distance to an obstacle, and at least one collision detector,on each of front and rear surfaces of the main body, to detect collisionwith an obstacle, and wherein the controller determines whether anobstacle is present in a forward direction based on a detection signaldetected by the distance detector, rotates the main body by thepredetermined angle when the obstacle is present in the forwarddirection, and determines that the main body is in a stuck state uponreceiving a detection signal from the at least one collision detector.12. The autonomous robot according to claim 10, wherein the detectorcomprises at least one collision detector, on each of front and rearsurfaces of the main body, to detect collision with an obstacle, andwherein the controller determines whether an obstacle is present in aforward direction based on a detection signal detected by the collisiondetector of the front surface of the main body, rotates the main body bythe predetermined angle when the obstacle is present in the forwarddirection, and determines that the main body is in a stuck state uponreceiving a detection signal from the collision detectors on the frontand rear surfaces.